package cc.git.liuyan.customeraiagent.core.provider.giteeai.bigmodel;

import cc.git.liuyan.customeraiagent.core.bigmodel.BigModel;
import cc.git.liuyan.customeraiagent.core.bigmodel.abstrct.AbstractBigModelProvider;
import cc.git.liuyan.customeraiagent.core.provider.giteeai.bigmodel.deepseekr1.DeepseekR1GiteeAiBigModel;
import cc.git.liuyan.customeraiagent.core.provider.giteeai.bigmodel.deepseekv3.DeepseekV3GiteeAiBigModel;

public class GiteeAiBigModelProvider extends AbstractBigModelProvider {

    public GiteeAiBigModelProvider(GiteeAiBigModelProviderInfo providerInfo) {
        super(providerInfo, () -> new GiteeAiBigModelApiClient(providerInfo));
    }

    //DeepSeek-R1
    //DeepSeek-V3
    @Override
    protected BigModel createBigModel(String modelName) {
        if ("DeepSeek-R1".equals(modelName)) {
            return new DeepseekR1GiteeAiBigModel(modelName, (GiteeAiBigModelApiClient) this.apiClient);
        } else if ("DeepSeek-V3".equals(modelName)) {
            return new DeepseekV3GiteeAiBigModel(modelName, (GiteeAiBigModelApiClient) this.apiClient);
        } else {
            throw new IllegalArgumentException("请使用ModelName: DeepSeek-R1/DeepSeek-V3");
        }
    }

}
